package com.ydlclass.loadbnlancer;

import java.net.InetSocketAddress;
import java.util.List;

/**
 * @Description: 负载均衡接口
 * @Author duWenJian
 * @Date 2023/11/4 13:48
 * @Version 1.0
 */
public interface LoadBalancer {
    /**
     * 他应该具备的能力，根据服务名可以找到一个可用的服务
     * @param serviceName
     * @return 服务地址
     */
    InetSocketAddress selectServiceAddress(String serviceName);

    /**
     * 当感知节点发生动态上下线，我们需要重新进行负载均衡
     * @param serviceName 服务名称
     */
    void reLoadBalance(String serviceName,List<InetSocketAddress> addresses);
}
